home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / appkit / NXBitmapImageRep.h < prev    next >
Text File  |  1992-09-11  |  5KB  |  103 lines

  1. /*
  2.     NXBitmapImageRep.h
  3.     Application Kit, Release 2.0
  4.     Copyright (c) 1988, 1989, 1990, NeXT, Inc.  All rights reserved. 
  5. */
  6.  
  7. #import "NXImageRep.h"
  8. #import <objc/List.h>
  9. #import "graphics.h"
  10. #import <streams/streams.h>
  11. #import <objc/zone.h>
  12.  
  13. @interface NXBitmapImageRep : NXImageRep
  14. {
  15.     unsigned int        _bytesPerRow;
  16.     unsigned short      _imageNumber;
  17.     short        _colorSpace;
  18.     struct __bitmapRepFlags {
  19. #ifdef __BIG_ENDIAN__
  20.     unsigned int isPlanar:1;
  21.     unsigned int explicitPlanes:1;
  22.     unsigned int bitsPerPixel:8;    
  23.     unsigned int unpackedOK:1;
  24.     unsigned int isUnpacked:1;
  25.     unsigned int memory:2;
  26.     unsigned int _RESERVED:2;
  27. #else
  28.     unsigned int _RESERVED:2;
  29.     unsigned int memory:2;
  30.     unsigned int isUnpacked:1;
  31.     unsigned int unpackedOK:1;
  32.     unsigned int bitsPerPixel:8;
  33.     unsigned int explicitPlanes:1;
  34.     unsigned int isPlanar:1;
  35. #endif
  36.     }                   _moreRepFlags;
  37.     unsigned short      _reservedB1;
  38.     char               *_fileName;
  39.     int            _reservedB2;
  40.     unsigned char      *_data;
  41.     char           *_otherName;
  42.     unsigned short      _compression;
  43.     unsigned short      _factor;
  44. }
  45.  
  46. - initFromSection:(const char *)fileName;
  47. - initFromFile:(const char *)fileName;
  48. - initFromStream:(NXStream *)stream;
  49. - initData:(unsigned char *)data fromRect:(const NXRect *)rect;
  50. - initData:(unsigned char *)data pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits;
  51. - initDataPlanes:(unsigned char **)planes pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits;
  52.  
  53. +(int)sizeImage:(const NXRect *)rect;
  54. +(int)sizeImage:(const NXRect *)rect pixelsWide:(int *)width pixelsHigh:(int *)height bitsPerSample:(int *)bps samplesPerPixel:(int *)spp hasAlpha:(BOOL *)hasAlpha isPlanar:(BOOL *)isPlanar colorSpace:(NXColorSpace *)colorSpace;
  55.  
  56. + (List *)newListFromSection:(const char *)fileName;
  57. + (List *)newListFromFile:(const char *)fileName;
  58. + (List *)newListFromStream:(NXStream *)stream;
  59. + (List *)newListFromSection:(const char *)fileName zone:(NXZone *)zone;
  60. + (List *)newListFromFile:(const char *)fileName zone:(NXZone *)zone;
  61. + (List *)newListFromStream:(NXStream *)stream zone:(NXZone *)zone;
  62.  
  63. - (unsigned char *)data;
  64. - getDataPlanes:(unsigned char **)data;
  65. - (BOOL)isPlanar;
  66. - (int)samplesPerPixel;
  67. - (int)bitsPerPixel;
  68. - (int)bytesPerRow;
  69. - (int)bytesPerPlane;
  70. - (int)numPlanes;
  71. - (NXColorSpace)colorSpace;
  72. - (BOOL)drawIn:(const NXRect *)rect;
  73. - (BOOL)draw;
  74. - (void)getCompression:(int *)compression andFactor:(float *)factor;
  75. - (void)setCompression:(int)compression andFactor:(float)factor;
  76. - writeTIFF:(NXStream *)stream;
  77. - writeTIFF:(NXStream *)stream usingCompression:(int)compression;
  78. - writeTIFF:(NXStream *)stream usingCompression:(int)compression andFactor:(float)compressionFactor;
  79. + (void)getTIFFCompressionTypes:(const int **)list count:(int *)numTypes;
  80. + (const char *)localizedNameForTIFFCompressionType:(int)compression;
  81. - (BOOL)canBeCompressedUsing:(int)compression;
  82. + (void)setUnpackedImageDataAcceptable:(BOOL)flag;
  83. + (BOOL)isUnpackedImageDataAcceptable;
  84. - read:(NXTypedStream *)stream;
  85. - write:(NXTypedStream *)stream;
  86. - copyFromZone:(NXZone *)zone;
  87. - free;
  88.  
  89. /* 
  90.  * The following new... methods are now obsolete.  They remain in this  
  91.  * interface file for backward compatibility only.  Use Object's alloc method  
  92.  * and the init... methods defined in this class instead.
  93.  */
  94. + newFromSection:(const char *)fileName;
  95. + newFromFile:(const char *)fileName;
  96. + newFromStream:(NXStream *)stream;
  97. + newData:(unsigned char *)data pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace;
  98. + newData:(unsigned char *)data pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits;
  99. + newDataPlanes:(unsigned char **)planes pixelsWide:(int)width pixelsHigh:(int)height bitsPerSample:(int)bps samplesPerPixel:(int)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpace:(NXColorSpace)colorSpace bytesPerRow:(int)rBytes bitsPerPixel:(int)pBits;
  100. + readImage:(const NXRect *)rect into:(unsigned char *)data;
  101.  
  102. @end
  103.